@@ -121,8 +121,17 @@ def DJANGO_FILE_UPLOAD_CALLBACK_FUNC(request, file_path=None, file_url=None):  | 
            ||
| 121 | 121 | 
                file_path = os.path.join(settings.MEDIA_ROOT, file_path)  | 
            
| 122 | 122 | 
                zbars = zbar(file_path)  | 
            
| 123 | 123 | 
                 | 
            
| 124 | 
                - for i in range(len(zbars)):  | 
            |
| 125 | 
                - zbars[i] = zbars[i].strip()  | 
            |
| 124 | 
                +        return {
               | 
            |
| 125 | 
                + 'zbars': zbars,  | 
            |
| 126 | 
                + }  | 
            |
| 127 | 
                +  | 
            |
| 128 | 
                +    zbar2 = int(request.POST.get('zbar2', 0))
               | 
            |
| 129 | 
                + if zbar2:  | 
            |
| 130 | 
                + import os  | 
            |
| 131 | 
                + from utils.zbar.zbar2 import zbar2  | 
            |
| 132 | 
                +  | 
            |
| 133 | 
                + file_path = os.path.join(settings.MEDIA_ROOT, file_path)  | 
            |
| 134 | 
                + zbars = zbar2(file_path)  | 
            |
| 126 | 135 | 
                 | 
            
| 127 | 136 | 
                         return {
               | 
            
| 128 | 137 | 
                'zbars': zbars,  | 
            
                @@ -412,6 +412,9 @@ COMPONENT_CALLBACK_CONFIG = {
               | 
            ||
| 412 | 412 | 
                'tousername': 'brand_id',  | 
            
| 413 | 413 | 
                }  | 
            
| 414 | 414 | 
                 | 
            
| 415 | 
                +# 测试文件  | 
            |
| 416 | 
                +TESTING_ZBAR = os.path.join(BASE_DIR, 'utils/zbar/zbar.jpg').replace('\\', '/')
               | 
            |
| 417 | 
                +  | 
            |
| 415 | 418 | 
                # 开发调试相关配置  | 
            
| 416 | 419 | 
                if DEBUG:  | 
            
| 417 | 420 | 
                try:  | 
            
                @@ -8,4 +8,5 @@ pywe-pay==1.0.12  | 
            ||
| 8 | 8 | 
                pywe-pay-notify==1.0.4  | 
            
| 9 | 9 | 
                pywe-response==1.0.1  | 
            
| 10 | 10 | 
                pywe-sign==1.1.0  | 
            
| 11 | 
                +pywe-wxa-cv==1.0.0  | 
            |
| 11 | 12 | 
                pywe-xml==1.0.6  | 
            
                @@ -1,5 +1,6 @@  | 
            ||
| 1 | 1 | 
                # -*- coding: utf-8 -*-  | 
            
| 2 | 2 | 
                 | 
            
| 3 | 
                +from django.conf import settings  | 
            |
| 3 | 4 | 
                from PIL import Image, ImageEnhance  | 
            
| 4 | 5 | 
                from pyzbar import pyzbar  | 
            
| 5 | 6 | 
                 | 
            
                @@ -33,8 +34,14 @@ def zbar(path):  | 
            ||
| 33 | 34 | 
                     #     barcodeData = barcode.data.decode("utf-8")
               | 
            
| 34 | 35 | 
                # print(barcodeData)  | 
            
| 35 | 36 | 
                 | 
            
| 36 | 
                -    return [bar.data.decode('utf-8') for bar in barcodes]
               | 
            |
| 37 | 
                +    return [bar.data.decode('utf-8').strip() for bar in barcodes]
               | 
            |
| 38 | 
                +  | 
            |
| 39 | 
                +  | 
            |
| 40 | 
                +def test_zbar():  | 
            |
| 41 | 
                + # In[4]: test_zbar()  | 
            |
| 42 | 
                + # [u'189415']  | 
            |
| 43 | 
                + print zbar(settings.TESTING_ZBAR)  | 
            |
| 37 | 44 | 
                 | 
            
| 38 | 45 | 
                 | 
            
| 39 | 46 | 
                if __name__ == '__main__':  | 
            
| 40 | 
                -    print zbar('zbar.jpg')
               | 
            |
| 47 | 
                + test_zbar()  | 
            
                @@ -0,0 +1,31 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from django.conf import settings  | 
            |
| 4 | 
                +from pywe_storage import RedisStorage  | 
            |
| 5 | 
                +from pywe_wxa_cv import cv_qrcode  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +from utils.redis.connect import r  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                +  | 
            |
| 10 | 
                +WECHAT = settings.WECHAT  | 
            |
| 11 | 
                +  | 
            |
| 12 | 
                +  | 
            |
| 13 | 
                +def zbar2(path):  | 
            |
| 14 | 
                +    wxcfg = WECHAT.get('MINIAPP', {})
               | 
            |
| 15 | 
                +  | 
            |
| 16 | 
                +    appid = wxcfg.get('appID')
               | 
            |
| 17 | 
                +    secret = wxcfg.get('appsecret')
               | 
            |
| 18 | 
                +  | 
            |
| 19 | 
                + # In[5]: test_zbar2()  | 
            |
| 20 | 
                +    # {u'code_results': [{u'type_name': u'CODE_39', u'data': u'189415'}], u'img_size': {u'h': 1440, u'w': 1080}, u'errcode': 0, u'errmsg': u'ok'}
               | 
            |
| 21 | 
                + img_infos = cv_qrcode(img_file_path=path, appid=appid, secret=secret, storage=RedisStorage(r))  | 
            |
| 22 | 
                +  | 
            |
| 23 | 
                +    code_results = img_infos.get('code_results', [])
               | 
            |
| 24 | 
                +  | 
            |
| 25 | 
                +    return [code.get('data', '').strip() for code in code_results]
               | 
            |
| 26 | 
                +  | 
            |
| 27 | 
                +  | 
            |
| 28 | 
                +def test_zbar2():  | 
            |
| 29 | 
                + # In[5]: test_zbar()  | 
            |
| 30 | 
                + # [u'189415']  | 
            |
| 31 | 
                + print zbar2(settings.TESTING_ZBAR)  |